在 Squid 服务中配置 SSL Bumping

如果 Kaspersky Web Traffic Security 是从 RPM 或 DEB 软件包安装到即用型操作系统的,则这些说明适用。如果 Kaspersky Web Traffic Security 是从 ISO 文件安装的,则无法手动更改内置代理服务器的配置文件。

建议在 Squid 服务中配置 SSL Bumping 以处理加密连接。如果未配置 SSL Bumping,则代理服务器无法干预加密连接建立过程。在这种情况下,Kaspersky Web Traffic Security(反病毒和反网络钓鱼)的保护模块无法扫描在加密数据通道内传输的数据。这降低了企业 IT 基础架构的保护级别。

SSL Bumping 需要 SSL 证书和 PEM 格式的私钥。您可以 新建一个自签名 SSL 证书 或使用一个准备好的(例如,证书机构颁发的 SSL 证书)。

如果私钥受密码保护,需要提前解密。

要在 Squid 服务中配置 SSL Bumping:

  1. 请确保所用的 Squid 服务支持必需的选项。为此,请执行命令:

    squid -v

    配置选项参数必须包含 --enable-ssl-crtd and --with-openssl 值。

  2. 把 PEM 格式的 SSL 证书复制到文件 /etc/squid/bump.crt 中。
  3. 把 PEM 格式的私钥复制到文件 /etc/squid/bump.key 中。
  4. 为 Diffie-Hellman 算法生成设置文件。为此,请执行命令:

    openssl dhparam -outform PEM -out /etc/squid/bump_dhparam.pem 2048

  5. 配置 SSL 证书文件使用权限。为此,请根据所使用的操作系统运行以下命令:
    • CentOS, Red Hat Enterprise Linux 或 SUSE Linux Enterprise Server:

      chown squid:squid /etc/squid/bump*

      chmod 400 /etc/squid/bump*

    • Ubuntu、Debian 或 ALT Server:

      chown proxy:proxy /etc/squid/bump*

      chmod 400 /etc/squid/bump*

  6. 确定您的服务器上使用的 Squid 服务的版本。为此,请执行命令:

    squid -v

    利用版本的信息显示为格式 Squid Cache: 版本 <version>

  7. 如果 Squid 服务正在运行,将其停止。为此,请执行命令:

    service squid stop

  8. 如果正在使用版本 3.5.х 的 Squid 服务:
    1. 为证书数据库创建目录然后初始化数据库。为此,请根据所使用的操作系统运行以下命令:
      • CentOS 或 Red Hat Enterprise Linux:

        mkdir -p /var/lib/squid

        rm -rf /var/lib/squid/ssl_db

        /usr/lib64/squid/ssl_crtd -c -s /var/lib/squid/ssl_db

        chown -R squid:squid /var/lib/squid

      • SUSE Linux Enterprise Server:

        mkdir -p /var/lib/squid

        rm -rf /var/lib/squid/ssl_db

        /usr/sbin/ssl_crtd -c -s /var/lib/squid/ssl_db

        chown -R squid:squid /var/lib/squid

      • Ubuntu 或 Debian:

        mkdir -p /var/lib/squid

        rm -rf /var/lib/squid/ssl_db

        /usr/lib/squid/ssl_crtd -c -s /var/lib/squid/ssl_db

        chown -R proxy:proxy:<group> /var/lib/squid

    2. 在 /etc/squid/squid.conf 配置文件中进行以下更改:
      1. 在文件末尾,根据利用的操作系统添加以下指令:
        • CentOS 或 Red Hat Enterprise Linux:

        sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 20MB

        sslproxy_cert_error allow all

        ssl_bump stare all

        • SUSE Linux Enterprise Server:

        sslcrtd_program /usr/sbin/ssl_crtd -s /var/lib/squid/ssl_db -M 20MB

        sslproxy_cert_error allow all

        ssl_bump stare all

        • Ubuntu 或 Debian:

        sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 20MB

        sslproxy_cert_error allow all

        ssl_bump stare all

      2. 用以下内容替换 http_port 指令:

        http_port 3128 tcpkeepalive=60,30,3 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=20MB cert=/etc/squid/bump.crt key=/etc/squid/bump.key cipher=HIGH:MEDIUM:!LOW:!RC4:!SEED:!IDEA:!3DES:!MD5:!EXP:!PSK:!DSS options=NO_TLSv1,NO_SSLv3,NO_SSLv2,SINGLE_DH_USE,SINGLE_ECDH_USE tls-dh=prime256v1:/etc/squid/bump_dhparam.pem

  9. 如果正在使用版本 4.х 的 Squid 服务:
    1. 为证书数据库创建目录然后初始化数据库。为此,请根据所使用的操作系统运行以下命令:
      • CentOS 或 Red Hat Enterprise Linux:

        mkdir -p /var/lib/squid

        rm -rf /var/lib/squid/ssl_db

        /usr/lib64/squid/security_file_certgen -c -s /var/lib/squid/ssl_db -M 20MB

        chown -R squid:squid /var/lib/squid

      • SUSE Linux Enterprise Server:

        mkdir -p /var/lib/squid

        rm -rf /var/lib/squid/ssl_db

        /usr/sbin/security_file_certgen -c -s /var/lib/squid/ssl_db -M 20MB

        chown -R squid:squid /var/lib/squid

      • Ubuntu、Debian 或 ALT Server:

        mkdir -p /var/lib/squid

        rm -rf /var/lib/squid/ssl_db

        /usr/lib/squid/security_file_certgen -c -s /var/lib/squid/ssl_db -M 20MB

        chown -R proxy:proxy /var/lib/squid

    2. 在 /etc/squid/squid.conf 配置文件中进行以下更改:
      1. 将以下指令添加到文件开始或第一个 http_access 指令前:

        acl intermediate_fetching transaction_initiator certificate-fetching

        http_access allow intermediate_fetching

      2. 根据利用的操作系统将以下指令添加到文件末尾:
        • CentOS 或 Red Hat Enterprise Linux:

        sslcrtd_program /usr/lib64/squid/security_file_certgen -s /var/lib/squid/ssl_db -M 20MB

        sslproxy_cert_error allow all

        ssl_bump stare all

        • SUSE Linux Enterprise Server:

        sslcrtd_program /usr/sbin/security_file_certgen -s /var/lib/squid/ssl_db -M 20MB

        sslproxy_cert_error allow all

        ssl_bump stare all

        • Ubuntu、Debian 或 ALT Server:

        sslcrtd_program /usr/lib/squid/security_file_certgen -s /var/lib/squid/ssl_db -M 20MB

        sslproxy_cert_error allow all

        ssl_bump stare all

      3. 用以下内容替换 http_port 指令:

        http_port 3128 tcpkeepalive=60,30,3 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=20MB tls-cert=/etc/squid/bump.crt tls-key=/etc/squid/bump.key cipher=HIGH:MEDIUM:!LOW:!RC4:!SEED:!IDEA:!3DES:!MD5:!EXP:!PSK:!DSS options=NO_TLSv1,NO_SSLv3,SINGLE_DH_USE,SINGLE_ECDH_USE tls-dh=prime256v1:/etc/squid/bump_dhparam.pem

  10. 重启 Squid 服务。为此,请执行命令:

    service squid restart

配置 Squid 服务中的 SSL Bumping 将完成。

页面顶端